#ifndef __ENBLEND_RENDERER_H__
#define __ENBLEND_RENDERER_H__

#include <boost/smart_ptr.hpp>
#include <opencv/cv.h>
#include <Magick++.h>
#include "outputrenderer.h"

namespace cshotel {
    class ImageSet;
    
    class EnblendRenderer : OutputRenderer {
    public:
        EnblendRenderer(boost::shared_ptr<ImageSet> imgs);
        void render();
        
    private:
        boost::shared_ptr<ImageSet> imageSet;
        
        std::string buildEnblendCommand();
        
        const static int maskRed = 255;
        const static int maskGreen = 20;
        const static int maskBlue = 147;
        const static Magick::Color GraphicsMagickMaskColor;
        const static cv::Scalar OpenCVMaskColor;
        const static Magick::Color GraphicsMagickBackgroundColor;
    };
}

#endif
